Many types of apparatus are constructed using modular components that perform certain apparatus functions. Each module may be viewed as a hardware unit that is responsible for performing one or more functions. The functions to be performed by each hardware unit can vary from minor to complex.
An example of such an apparatus is a radio base station used in, for example, a radio telecommunication system. FIG. 1 shows a simplified radio communication system 10 including a radio network controller 12 coupled to plural base stations 14a and 14b. The radio network controller 12 is typically coupled to other networks such as circuit-switched and packet-switched networks. In this example, both base stations are “macro” base stations meaning that all of the hardware units used to perform each base station's functions are located in one physical location. Base station 14a includes a number of replaceable hardware units that contain electrical and/or electronic circuitry, components, power supplies, software, etc. Example base station hardware units include: one or two timing unit boards 16, one or two base band transmit boards 18, one or more random access/receive boards 20, one or more transceiver boards 22, one or two radio frequency interface boards 24, one or more antenna interface boards 26, one or more multi-carrier power amplifier boards 28, a power control board, and a controller board 32 responsible for controlling the base station in general and each of the function boards 16–30. In operation, the base station 14a effects radio communication with one or more mobile stations 34.
Accordingly, base station 14a is an example of a modular apparatus equipped with various types of hardware units that perform different functionalities. Different types of base stations from the same base station family often support the same functionality, although different members of the base station family may use different hardware units to implement that functionality. For example, as electronic and integrated circuit manufacturing and miniaturization techniques advance, more functionality will likely be integrated into a single hardware unit. In the base station 14a shown in FIG. 1, it may be desirable to combine the baseband transmit board 18 and the random access/receive board 20 into a single board. Alternatively, it may be desirable to modify an individual board or the board configuration. For example, it may be desirable to add additional transceiver boards 22 to increase the capacity of the base station 14a. Another possibility is that the processing capacity of a random access/receive board 20 is increased, which can either be used to increase the capacity of the base station or to provide the same capacity with fewer random access/receive boards. Indeed, one may foresee that each board shown in base station 14a may require modification or elimination in the integration example explained above.
As base station technology evolves, new base station configurations and functionality will be produced. An example of a new base station configuration is a main-remote base station configuration where the main unit includes hardware units that perform baseband functions for the base station and a physically remote unit performs radio functions for the base station. At the same time, older base station configurations should still be supported. In other words, a radio communications system may well contain both old and new base station equipment that needs to be integrated.
It is an object of the present invention to provide a mechanism that supports and controls a wide range of hardware units without being tied to the implementation details of each hardware unit.
It is an object of the present invention to provide a mechanism that readily and flexibly accommodates changes to individual hardware units, changes to configuration of the hardware units, and changes to the functionality that needs to be performed.
It is an object of the present invention to provide a mechanism that supports integrating functions previously performed by multiple hardware units into a single hardware unit.
It is an object of the present invention to provide a mechanism that supports different (e.g., increased) capacities of hardware units of the same type.
It is an object of the present invention to provide a mechanism that supports integrating new functionality into the apparatus.
It is an object of the present invention to provide a mechanism that permits a standardized approach for handling all the hardware units in the apparatus.
The present invention addresses and meets these and other objectives. A software architecture is used to control an apparatus with one or more hardware units that each perform one or more corresponding functions. The software architecture includes a device group data structure for each hardware unit and one or more device data structures for each hardware unit function. In a preferred, but an example embodiment, one or more device set data structures are defined in the software architecture. Each device set data structure represents one or more device data structures. The data structures defined in the software architecture are used to control the apparatus functionality physically performed by the hardware units.
The software architecture is independent of the specific hardware unit actually implementing a function and of how the hardware unit actually performs the function. For example, the device data structure is independent from the hardware unit responsible for actually implementing the device function. As a result, an identity, configuration, or implementation of a hardware unit may be changed without having to change the associated device data structure. To achieve this independence, the hardware unit stores a “mapping” between each function it is responsible for performing and the device data structure corresponding to that function.
Each device group data structure is associated with device data structures of a certain type in one hardware unit and device set data structures if employed. A device set data structure can be introduced to manage a set of individual device data structures. For purposes of illustration only, it is assumed that one or more device set data structures are employed. A device group can be associated with both different types of device set data structures and multiple instances of the same device set data structure. Each device group data structure is used by a software architecture manager to bring each device set associated with that device group into service and coordinate each device set with the device group. The device group manages the device set, and the device set in turn manages the individual devices associated with that device set. If a hardware unit is changed to support a different function, the hardware unit is associated with a new device group.
The software architecture manager manages the hardware units and the apparatus using the device group, device set, and device data structures in the software architecture. In addition, a device group software interface is defined for each device group, and a device set software interface is defined for each device set/device. These software interfaces define how the software architecture manager communicates with and manages the hardware units using the software architecture and include common procedures and signalling formats.
One of the advantages of the present invention is that functionality implemented by plural hardware units may be readily and flexibly integrated into a single, new hardware unit simply by defining a new device group data structure for the new hardware unit. That new device group data structure includes the device set and device data structures already established and associated with the “old” hardware units. Although a new device group software interface is defined, the device set/device software interface already defined for the device set/devices associated with the “old” hardware units are employed for the new, integrated configuration.
A non-limiting, example application of the present invention is to radio base stations. In this context, the manager uses the software architecture to start up and control the base station hardware units. The manager may also use the software architecture to flexibly expand the capacity of one or more of the base station hardware units simply by increasing the number of device data structures associated with a corresponding device set or device data structure. Moreover, the software architecture may be used to enhance one or more capabilities associated with one or more devices in the radio base station. Still further, the software architecture may be used to reconfigure a macro base station as a main-remote base station or a hybrid macro/main-remote base station.